home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / text / misc / pcal_4_5.lha / pcal / protos.h < prev    next >
C/C++ Source or Header  |  1994-10-16  |  6KB  |  167 lines

  1. /*
  2.  * protos.h - ANSI-style function prototypes for Pcal sources
  3.  *
  4.  * Revision history:
  5.  *
  6.  *    4.5    AWR    11/24/93    replace find_holidays() with
  7.  *                    print_colors() (cf. writefil.c)
  8.  *
  9.  *            11/16/93    added new routines define_font(),
  10.  *                    define_shading() (latter replaces
  11.  *                    old gen_shading()), and set_rgb()
  12.  *
  13.  *            11/16/92    eliminated "noprotos.h" by means of
  14.  *                    PROTO() macro (q.v.)
  15.  *
  16.  *    4.4    AWR    01/15/92    added even more routines
  17.  *
  18.  *    4.3    AWR    12/06/91    added more routines
  19.  *
  20.  *    4.2    AWR    10/03/91    added various routines newly
  21.  *                    incorporated into writefil.c
  22.  *                    and pcalutil.c
  23.  *
  24.  *    4.0    AWR    03/01/91    use <stdlib.h> where possible
  25.  *
  26.  *            02/19/91    adapted from Bill Hogsett's source
  27.  *
  28.  */
  29.  
  30. /* macro to translate parenthesized argument list into ANSI- or K&R-style
  31.  * function declaration, depending on definition of PROTOS - obviates need
  32.  * for separate "noprotos.h" (now gone) containing K&R declarations
  33.  */
  34. #ifdef PROTOS
  35. #define PROTO(args)    args        /* ANSI */
  36. #else
  37. #define PROTO(args)    ()        /* K&R  */
  38. #endif
  39.  
  40. /*
  41.  * Prototypes for functions defined in exprpars.c:
  42.  */
  43. int parse_expr PROTO((char *pbuf));
  44.  
  45.  
  46. /*
  47.  * Prototypes for functions defined in moonphas.c:
  48.  */
  49. double    calc_phase PROTO((int month, int day, int year));
  50. double    find_phase PROTO((int month, int day, int year, int *pquarter));
  51. char    *find_moonfile PROTO((int year));
  52. int    read_moonfile PROTO((int year));
  53.  
  54.  
  55. /*
  56.  * Prototypes for functions defined in pcal.c:
  57.  */
  58. FILE    *alt_fopen PROTO((char *fullpath, char *name, char *pathlist[], char *access));
  59. int    check_numargs PROTO((void));
  60. char    *color_msg PROTO((void));
  61. int    get_args PROTO((char **argv, int curr_pass, char *where, int get_numargs));
  62. FLAG_USAGE *get_flag PROTO((char flag));
  63. void    init_misc PROTO((void));
  64. int    main PROTO((int argc, char **argv));
  65. void    set_color PROTO((char *day, int col));
  66. void    set_debug_flag PROTO((char *flag));
  67. void    usage PROTO((FILE *fp, int fullmsg));
  68.  
  69.  
  70. /*
  71.  * Prototypes for functions defined in pcalutil.c:
  72.  */
  73. char    *alloc PROTO((int size));
  74. int    calc_day PROTO((int ord, int wkd, int mm));
  75. int    calc_weekday PROTO((int mm, int dd, int yy));
  76. int    calc_year_day PROTO((int ord, int wkd, DATE *pdate));
  77. int    ci_strcmp PROTO((register char *s1, register char *s2));
  78. int    ci_strncmp PROTO((register char *s1, register char *s2, int n));
  79. void    copy_text PROTO((char *pbuf, char **ptext));
  80. void    cvt_escape PROTO((char *obuf, char *ibuf));
  81. void    define_font PROTO((char *orig_font, char *new_font, char *dflt_font));
  82. void    define_shading PROTO((char *orig_shading, char *new_shading, char *dflt_shading));
  83. char    *find_executable PROTO((char *prog));
  84. int    getline PROTO((FILE *fp, char *buf, int *pline));
  85. int    is_valid PROTO((register int m, register int d, register int y));
  86. int    loadwords PROTO((char **words, char *buf));
  87. char    *mk_filespec PROTO((char *filespec, char *path, char *name));
  88. char    *mk_path PROTO((char *path, char *filespec));
  89. void    normalize PROTO((DATE *pd));
  90. int    note_box PROTO((int mm, int dd, int yy));
  91. int    note_day PROTO((int mm, int n, int yy));
  92. int    split_date PROTO((char *pstr, int *pn1, int *pn2, int *pn3));
  93. char    *trnlog PROTO((char *logname));
  94.  
  95.  
  96. /*
  97.  * Prototypes for functions defined in readfile.c:
  98.  */
  99. void    cleanup PROTO((void));
  100. void    clear_syms PROTO((void));
  101. int    date_type PROTO((char *cp, int *pn, int *pv));
  102. int    do_define PROTO((char *sym));
  103. int    do_ifdef PROTO((char *expr));
  104. int    do_ifndef PROTO((char *expr));
  105. int    do_include PROTO((char *path, char *name, int noerr));
  106. int    do_undef PROTO((char *sym));
  107. int    enter_day_info PROTO((int m, int d, int y, int text_type, char **pword));
  108. int    find_easter PROTO((DATE *pdate));
  109. int    find_sym PROTO((char *sym));
  110. year_info *find_year PROTO((int year, int insert));
  111. int    get_keywd PROTO((char *cp));
  112. int    get_month PROTO((char *cp, int numeric_ok, int year_ok));
  113. int    get_ordinal PROTO((char *cp, int *pval));
  114. int    get_phase PROTO((char *cp));
  115. int    get_prep PROTO((char *cp));
  116. int    get_token PROTO((char *token));
  117. int    get_weekday PROTO((char *cp, int wild_ok));
  118. int    is_anyday PROTO((int mm, int dd, int yy));
  119. int    is_firstq PROTO((int mm, int dd, int yy));
  120. int    is_fullmoon PROTO((int mm, int dd, int yy));
  121. int    is_holiday PROTO((int mm, int dd, int yy));
  122. int    is_lastq PROTO((int mm, int dd, int yy));
  123. int    is_newmoon PROTO((int mm, int dd, int yy));
  124. int    is_weekday PROTO((int mm, int dd, int yy));
  125. int    is_workday PROTO((int mm, int dd, int yy));
  126. int    not_holiday PROTO((int mm, int dd, int yy));
  127. int    not_weekday PROTO((int mm, int dd, int yy));
  128. int    not_workday PROTO((int mm, int dd, int yy));
  129. int    parse PROTO((char **pword, char *filename));
  130. int    parse_date PROTO((char **pword, int *ptype, char ***pptext));
  131. int    parse_ord PROTO((int ord, int val, char **pword));
  132. int    parse_rel PROTO((int val, int wkd, char **pword, int *ptype, char ***pptext));
  133. void    read_datefile PROTO((FILE *fp, char *filename));
  134.  
  135.  
  136. /*
  137.  * Prototypes for functions defined in writefil.c:
  138.  */
  139. void    def_footstring PROTO((char *p, char *str));
  140. char    *expand_fmt PROTO((char *buf, char *p));
  141. void    find_daytext PROTO((int month, int year, int is_holiday));
  142. void    find_noteboxes PROTO((int month, int year));
  143. void    print_colors PROTO((int month, int year));
  144. void    print_dates PROTO((int month, int year));
  145. void    print_julian_info PROTO((int month, int year));
  146. void    print_month PROTO((int month, int year));
  147. void    print_moon_info PROTO((int month, int year));
  148. void    print_pstext PROTO((char *p));
  149. void    print_text PROTO((char *p));
  150. char    *print_word PROTO((char *p));
  151. int    select_color PROTO((void));
  152. char    *set_rgb PROTO((char *s));
  153. void    write_calfile PROTO((int month, int year, int nmonths));
  154. void    write_psfile PROTO((int month, int year, int nmonths));
  155.  
  156.  
  157. /*
  158.  * Prototypes for miscellaneous library routines (if not already included
  159.  * via <stdlib.h> - cf. pcaldefs.h):
  160.  */
  161. #ifndef STDLIB
  162. extern int    atoi PROTO((char *));
  163. extern double    atof PROTO((char *));
  164. extern char    *calloc PROTO((unsigned int, unsigned int));
  165. extern char    *getenv PROTO((char *));
  166. #endif
  167.